package com.wicket.okrbff.biz.service.dto.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc BffAddOrgClassReqDto
 * @使用场景
 */
@Data
public class BffAddOrgClassReqDto implements Serializable {

  /**
   * 类型字典名称
   */
  @NotNull(message = "类型字典名称不能为空")
  @ApiModelProperty("类型字典名称")
  private String typeDictionaryName;

  /**
   * 类型字典编码
   */
  @NotNull(message = "类型字典编码不能为空")
  @ApiModelProperty("类型字典编码")
  private String typeDictionaryCode;

  /**
   * 排序
   */
  @NotNull(message = "排序不能为空")
  @ApiModelProperty("排序")
  private Long orderNumber;

  /**
   * 类型用途编码 DEPT_TYPE:部门类型 POSITION_CLASS:职务类别 INDUCTION_TYPE:就职类型 INDUCTION_STATE:就职状态 WROK_TASK_SOURCE_CONF:工作任务来源
   */
  @NotNull(message = "类型用途编码不能为空")
  @ApiModelProperty("类型用途编码")
  private String purposeCode;

  /**
   * 组织ID
   */
  @ApiModelProperty("组织ID")
  private String organizationId;

  @ApiModelProperty("部门业务身份列表 ")
  List<String> deptBusinessIdentityList = new ArrayList<>();

  /**
   * 是否系统数据 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否系统数据")
  private String isSystemData;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @NotNull(message = "主体生命周期不能为空")
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

}
